home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / swingall.jar / javax / swing / plaf / basic / BasicInternalFrameUI$GlassPaneDispatcher.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-15  |  3.0 KB  |  108 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.AWTEvent;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Point;
  7. import java.awt.event.InputEvent;
  8. import java.awt.event.MouseEvent;
  9. import java.awt.peer.LightweightPeer;
  10. import javax.swing.SwingUtilities;
  11. import javax.swing.event.MouseInputListener;
  12.  
  13. public class BasicInternalFrameUI$GlassPaneDispatcher implements MouseInputListener {
  14.    // $FF: synthetic field
  15.    private final BasicInternalFrameUI this$0;
  16.    private Component mouseEventTarget;
  17.  
  18.    protected BasicInternalFrameUI$GlassPaneDispatcher(BasicInternalFrameUI var1) {
  19.       this.this$0 = var1;
  20.       this.mouseEventTarget = null;
  21.    }
  22.  
  23.    private Component findComponentAt(Container var1, int var2, int var3) {
  24.       if (!((Component)var1).contains(var2, var3)) {
  25.          return var1;
  26.       } else {
  27.          int var4 = var1.getComponentCount();
  28.          Component[] var5 = var1.getComponents();
  29.  
  30.          for(int var6 = 0; var6 < var4; ++var6) {
  31.             Component var7 = var5[var6];
  32.             Point var8 = var7.getLocation();
  33.             if (var7 != null && var7.contains(var2 - var8.x, var3 - var8.y) && var7.getPeer() instanceof LightweightPeer && var7.isVisible()) {
  34.                if (!(var7 instanceof Container)) {
  35.                   return var7;
  36.                }
  37.  
  38.                Container var9 = (Container)var7;
  39.                Point var10 = ((Component)var9).getLocation();
  40.                Component var11 = this.findComponentAt(var9, var2 - var10.x, var3 - var10.y);
  41.                if (var11 != null) {
  42.                   return var11;
  43.                }
  44.             }
  45.          }
  46.  
  47.          return var1;
  48.       }
  49.    }
  50.  
  51.    private void forwardMouseEvent(MouseEvent var1) {
  52.       Component var2 = this.findComponentAt(this.this$0.frame.getContentPane(), var1.getX(), var1.getY());
  53.       if (var2 != this.mouseEventTarget) {
  54.          this.setMouseTarget(var2, var1);
  55.       }
  56.  
  57.       this.retargetMouseEvent(((AWTEvent)var1).getID(), var1);
  58.    }
  59.  
  60.    public void mouseClicked(MouseEvent var1) {
  61.    }
  62.  
  63.    public void mouseDragged(MouseEvent var1) {
  64.    }
  65.  
  66.    public void mouseEntered(MouseEvent var1) {
  67.       this.forwardMouseEvent(var1);
  68.    }
  69.  
  70.    public void mouseExited(MouseEvent var1) {
  71.       this.forwardMouseEvent(var1);
  72.    }
  73.  
  74.    public void mouseMoved(MouseEvent var1) {
  75.       this.forwardMouseEvent(var1);
  76.    }
  77.  
  78.    public void mousePressed(MouseEvent var1) {
  79.       if (this.this$0.borderListener != null) {
  80.          this.this$0.borderListener.mousePressed(var1);
  81.       }
  82.  
  83.       this.forwardMouseEvent(var1);
  84.    }
  85.  
  86.    public void mouseReleased(MouseEvent var1) {
  87.       this.forwardMouseEvent(var1);
  88.    }
  89.  
  90.    void retargetMouseEvent(int var1, MouseEvent var2) {
  91.       Point var3 = SwingUtilities.convertPoint(this.this$0.frame.getContentPane(), var2.getX(), var2.getY(), this.mouseEventTarget);
  92.       MouseEvent var4 = new MouseEvent(this.mouseEventTarget, var1, ((InputEvent)var2).getWhen(), ((InputEvent)var2).getModifiers(), var3.x, var3.y, var2.getClickCount(), var2.isPopupTrigger());
  93.       this.mouseEventTarget.dispatchEvent(var4);
  94.    }
  95.  
  96.    private void setMouseTarget(Component var1, MouseEvent var2) {
  97.       if (this.mouseEventTarget != null) {
  98.          this.retargetMouseEvent(505, var2);
  99.       }
  100.  
  101.       this.mouseEventTarget = var1;
  102.       if (this.mouseEventTarget != null) {
  103.          this.retargetMouseEvent(504, var2);
  104.       }
  105.  
  106.    }
  107. }
  108.